22 research outputs found

    An Experimental Analysis of DAG Scheduling Methods in Hard Real-time Multiprocessor Systems

    Get PDF
    International audienceThe scheduling of real-time parallel tasks on multiprocessor systems is more complicated than the one of independent sequential tasks, specially for the Directed Acyclic Graph (DAG) parallel model. The complexity is due to the structure of the DAG tasks and the precedence constraints between their subtasks. The trivial DAG scheduling method is to apply directly common real-time scheduling algorithms despite their lack of compatibility with the parallel model. Another scheduling method called the stretching method is summarized as converting each parallel DAG task in the set into a collection of independent sequential threads that are easier to be scheduled. In this paper, we are interested in analyzing global preemptive scheduling of DAGs using both methods by showing that both methods are not comparable in the case of using Deadline Monotonic (DM) and Earliest Deadline First (EDF) scheduling algorithms. Then we use extensive simulations to compare and analyze their performance

    Experimental Analysis of the Tardiness of Parallel Tasks in Soft Real-time Systems

    Get PDF
    International audienceA parallel application is defined as the application that can be executed on multiple processors simultaneously. In software, parallelism is a useful programming technique to take advantage of the hard-ware advancement in processors manufacturing nowadays. In real-time systems, where tasks have to respect certain timing constraints during execution, a single task has a shorter response time when executed in parallel than the sequential execution. However, the same cannot be trivially applied to a set of parallel tasks (taskset) sharing the same processing platform, and there is a negative intuition regarding parallelism in real-time systems. In this work, we are interested in analyzing this statement and providing an experimental analysis regarding the effect of parallelism soft on real-time systems. By performing an extensive simulation of the scheduling process of parallel taskset on multiprocessor systems using a known scheduling algorithm called the global Earliest-Deadline First (gEDF), we aim at providing an indication about the effects (positive or negative) of parallelism in real-time scheduling

    Schedulability Analysis for Directed Acyclic Graphs on Multiprocessor Systems at a Subtask Level

    Get PDF
    International audienceThis paper addresses the problem of scheduling parallel real- time tasks of Directed Acyclic Graph (DAG) model on multiprocessor systems. We propose a new scheduling method based on a subtask-level, which means that the schedulability decisions are taken based on the local temporal parameters of subtasks. This method requires modifying the subtasks to add more parameters which are necessary for the analysis, such as local offsets, deadlines and release jitters. Then we provide interference and workload analyses of DAG tasks, and we provide a schedulability test for any work conserving scheduling algorithm

    A Parallelizing Algorithm for Real-Time Tasks of Directed Acyclic Graphs Model

    Get PDF
    International audienceIn this paper, we consider parallel real-time tasks follow- ing a Directed Acyclic Graph (DAG) model. This task model is classical in embedded and industrial system applications. Each real-time task is defined by a set of subtasks under precedence constraints. With each subtask being associated a worst case execution time and a maximal degree of parallelism. We propose a parallelizing algorithm based on the critical path concept, in which we find the best parallelizing structure of the task according to the response time and the required number of processors, considering the worst case execution time of the subtasks

    A Stretching Algorithm for Parallel Real-time DAG Tasks on Multiprocessor Systems

    Get PDF
    International audienceParallelism is becoming more important nowadays due to the increasing use of multiprocessor systems. In this paper, we study the problem of scheduling periodic parallel real-time Directed Acyclic graph (DAG) tasks on m homogeneous multiprocessor systems. A DAG task is an example of inter-subtask parallelism. It consists of a collection of dependent subtasks under precedence constraints. The dependencies between subtasks make scheduling process more challenging. We propose a stretching algorithm applied on each DAG tasks to transform them into a set of independent sequential threads with intermediate offsets and deadlines. The threads obtained with the transformation are two types, (i) fully-stretched master threads with utilization equal to 1 and (ii) constrained-deadline independent threads. The fully-stretched master threads are assigned to dedicated processors and the remaining processors m' ≤ m, are scheduled using global EDF scheduling algorithm. Then, we prove that preemptive global EDF scheduling of stretched threads has a resource augmentation bound equal to (3+ √ 5)/2 for all tasksets with n < ϕ * m , where n is the number of tasks in the taskset and ϕ is the golden ratio 1

    Partitioned Scheduling of Parallel Real-time Tasks on Multiprocessor Systems

    Get PDF
    International audienceIn this paper, we focus on the scheduling of periodic fork-join real-time tasks on multiprocessor systems. Parallel real-time tasks of fork-join model have strict parallel segments with no laxity. We propose a partitioned scheduling algorithm which increases the laxity of the parallel segments and therefore the schedulability of tasksets of this model. A similar algorithm has been proposed in the literature but it produces job migrations. Ours avoid the use of job migrations in order to create a portable algorithm that can be implemented on a standard Linux kernel. Results of extensive simulations are provided in order to analyze the schedulability of the proposed algorithm compared to the previous one

    Performance Analysis for Segment Stretch Transformation of Parallel Real-time Tasks

    Get PDF
    International audienceThe Segment Stretch Transformation (SST) is an algorithm that transforms parallel Fork-Join (FJ) tasks into sequential tasks on multiprocessor systems when possible, in order to increase the schedulability of the tasksets of this model. SST is based on Task Stretch Transformation (TST) which is a transformation for the same model of tasks, but it uses segment migrations while SST eliminates their use. In this paper, we prove that SST transformation has the same performance of TST transformation by providing a detailed analysis based on Demand Bound Function (DBF) and by showing that SST has a resource augmentation bound of 3.42, same as TST, which means that if a taskset is feasible on m speed processors, then it is schedulable using the transformation on m processors that are 3.42 times faster

    Developing and Applying Online Basic Programming Tools to School Students in a Developing Country

    Get PDF
    Programming helps school students develop problem-solving, critical thinking, and logical reasoning skills. It also helps students develop skills at multiple levels of Bloom's taxonomy, including remembering, understanding, applying, analyzing, evaluating, and creating. Several programming tools have been developed to teach coding concepts to school students of different age groups. However, these tools are not well integrated into the Palestinian curriculum due to the inefficient teaching methods in programming. Programming activities focus only on remembering and understanding basic concepts. Therefore, this research focused on studying the importance of applying online programming tools on school students' application and analytical levels, and examining students' perception towards integrating online programming tools in the educational curriculum. A pre/ post experimental design was carried out on 84 children aged 14 years old in four schools in Palestine. The results revealed that 41.16% of students had an increase in their application and analytical levels. The results also revealed that students agreed on integrating online programming tools in schools and that programming helped them improve their problem-solving skills

    YARTISS: A Generic, Modular and Energy-Aware Scheduling Simulator for Real-Time Multiprocessor Systems

    Get PDF
    In this report, we present a free software written in Java, YARTISS, which is a real-time multiprocessor scheduling simulator. It is aimed at comparing user-customized algorithms with ones from the literature on real-time scheduling. This simulator is designed as an easy-to-use modular tool in which new modules can be added without the need to decompress, edit nor recompile existing parts. It can sim-ulate the execution of a large number of concurrent periodic independent tasksets on multiprocessor platforms and generate clear visual results of the scheduling process (both schedules and tunable metrics presentations). Other task models are already implemented in the simulator, like graph tasks with precedence constraints and it is easily extensible to other task models. Moreover, YARTISS can simulate tasksets in which energy consumption is a scheduling parameter in the same manner as Worst Case Execution Time (WCET)

    Global EDF scheduling of directed acyclic graphs on multiprocessor systems

    Get PDF
    International audienceIn this paper, we study the problem of real-time scheduling of parallel tasks represented by a Directed Acyclic Graph (DAG) on multiprocessor architectures. We focus on Global Earliest Deadline First scheduling of sporadic DAG tasksets with constrained-deadlines on a system of homogeneous processors. Our contributions consist in analyzing DAG tasks by considering their internal structures and providing a tighter bound on the workload and interference analysis. This approach consists in assigning a local offset and deadline for each subtask in the DAG. We derive an improved sufficient schedulability test w.r.t. an existing test proposed in the state of the art. Then we discuss the sustainability of this test
    corecore